home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_sol_comentrance.cog < prev    next >
Text File  |  1999-11-15  |  13KB  |  418 lines

  1. # Jones 3D Cog Script
  2. #
  3. # SOL_ComEntrance.cog
  4. #
  5. # [TRM]
  6. #
  7. # (C) 1999 LucasArts Entertainment Co. All Rights Reserved
  8. # ========================================================================================
  9.  
  10. symbols
  11.  
  12.     message     startup
  13.     message     entered
  14.     
  15.     # ** local things **
  16.     thing       player          local
  17.     thing       car             local
  18.     
  19.     # ** things **
  20.     thing       comCar
  21.     thing       minePlayer
  22.     
  23.     # ** cameras **
  24.     thing       cr_cam1
  25.     thing       er_cam1
  26.     thing       er_cam2
  27.     thing       er_cam3
  28.     thing       cam_Reset
  29.     
  30.     # ** camera targets **
  31.     thing       camTarg1
  32.     
  33.     # ** dummy move targets **
  34.     thing       dummy_Targ1
  35.     
  36.     # ** biped commies **
  37.     thing       khaki1
  38.     thing       khaki2
  39.     thing       khaki3
  40.     thing       khaki4
  41.     thing       bruiser1
  42.     thing       bruiser2
  43.     thing       volod
  44.     
  45.     # ** cross over commies **
  46.     thing       coCom1
  47.     thing       coCom2
  48.     
  49.     # ** exit complex commies **
  50.     thing       exitCom1
  51.     thing       exitCom2
  52.     thing       exitCom3
  53.     
  54.     # ** exit complex items **
  55.     thing       exit_Satchel
  56.     
  57.     # ** final room commies **
  58.     thing       finalCom1
  59.     thing       finalCom2
  60.     
  61.     # ** biped commie targets **
  62.     thing       khaki1_Targ1
  63.     thing       khaki1_Targ2
  64.     thing       khaki2_Targ1
  65.     thing       khaki2_Targ2
  66.     thing       volod_Targ1
  67.     thing       bruiser1_Targ1
  68.     thing       bruiser2_Targ1
  69.     
  70.     # ** player triggers **
  71.     surface     cr_Indy_Trig1
  72.     surface     cr_Indy_Trig2
  73.     surface     er_Indy_Trig1
  74.     surface     er_Indy_Trig2
  75.     surface     er_Indy_Trig3
  76.     surface     er_Indy_Trig4
  77.     surface     er_Indy_Trig5
  78.     
  79.     # ** commie triggers **
  80.     surface     er_Com_Trig1    mask=0x004      # destroy comCar
  81.     
  82.     # ** misc surfaces **
  83.     surface     switch1
  84.     surface     stopface
  85.     
  86.     # ** voice lines
  87.     #sound       volod_line1=Inxv002.wav     local
  88.     sound       volod_line1=Bb08v02.wav     local
  89.     
  90.     # ** music **
  91.     sound       mus_Volod=mus_gen_russbold_shrt1.wav     local
  92.     
  93.     # ** cogs **
  94.     cog         mineDoors
  95.     cog         masterCtrl
  96.     cog         panelSay
  97.     cog         comControl
  98.     
  99.     # ** types **
  100.     AI            ai_sniper=com_1HGrndSniper.ai    local
  101.     
  102.     # ** ints **
  103.     int         firstTime=0     local
  104.     int         done=0          local
  105.     int         here=0          local
  106.     int         animId          local
  107.     int         chnl_PreLoad    local
  108.     
  109. end
  110.  
  111. # ========================================================================================
  112.  
  113. code
  114.  
  115. startup:
  116.     
  117.     # hide comCar at start
  118.     SetThingFlags(comCar, 0x80000);
  119.     
  120.     # hide khaki commies
  121.     SetThingFlags(Khaki1, 0x80000);
  122.     SetThingFlags(Khaki2, 0x80000);
  123.     SetThingFlags(Khaki3, 0x80000);
  124.     SetThingFlags(Khaki4, 0x80000);
  125.     
  126.     # hide bruiser commies
  127.     SetThingFlags(bruiser1, 0x80000);
  128.     SetThingFlags(bruiser2, 0x80000);
  129.     
  130.     # hide volod
  131.     SetThingFlags(volod, 0x80000);
  132.     
  133.     # hide cross over commies
  134.     SetThingFlags(coCom1, 0x80000);
  135.     SetThingFlags(coCom2, 0x80000);
  136.     
  137.     # hide exit complex commies
  138.     SetThingFlags(exitCom1, 0x80000);
  139.     SetThingFlags(exitCom2, 0x80000);
  140.     SetThingFlags(exitCom3, 0x80000);
  141.     
  142.     # hide exit comp items
  143.     SetThingFlags(exit_Satchel, 0x80000);
  144.     
  145.     # hide final room commies
  146.     SetThingFlags(finalCom1, 0x80000);
  147.     SetThingFlags(finalCom2, 0x80000);
  148.     
  149.     # prepare all commies for cutscene
  150.     AISetCutsceneMode(comCar);
  151.     AISetCutsceneMode(Khaki1);    
  152.     AISetCutsceneMode(Khaki2);
  153.     AISetCutsceneMode(Khaki3);    
  154.     AISetCutsceneMode(Khaki4);
  155.     AISetCutsceneMode(bruiser1);
  156.     AISetCutsceneMode(bruiser2);    
  157.     AISetCutsceneMode(volod);
  158.     
  159.     return;
  160.     
  161. # ========================================================================================
  162.  
  163. entered:
  164.  
  165.     player = GetLocalPlayerThing();
  166.     car = GetSourceRef();
  167.  
  168.     if((BitTest(GetPhysicsFlags(car), 0x01000000)) && (GetWallCel(switch1) == 2) && (done == 0))
  169.     {
  170.         # pre-load junk
  171.         if(GetSenderRef() == cr_Indy_Trig1)
  172.         {
  173.             # pre-load volod intro music
  174.             chnl_PreLoad = PlaySoundLocal(mus_Volod, 0.0, 0.0, 0x0, 0);
  175.             
  176.             # turn on track surface in front of mine door
  177.             SetSurfaceFlags(stopface, 0x4000);
  178.         }
  179.         
  180.         # cut to camera in oil key room and watch
  181.         # indy come thru mine doors.
  182.         else if(GetSenderRef() == cr_Indy_Trig2)
  183.         {
  184.             # turn on enhanced ambients
  185.             global4 = 1;
  186.             
  187.             # disable player and start cutscene
  188.             StartCutscene(0);
  189.             SetActorFlags(player, 0x200000);
  190.             
  191.             # Cut to er_cam1
  192.             SetCameraFocus(2, er_cam1);
  193.             SetCameraSecondaryFocus(2, player);
  194.             SetCurrentCamera(2);
  195.             SetCameraFOV(90, 0, 0.0);
  196.         }
  197.         
  198.         # cut to entrance cam over trestle and watch
  199.         # indy come down the hill.
  200.         else if(GetSenderRef() == er_Indy_Trig1)
  201.         {
  202.             # slow down player
  203.             SetThingThrust(player, '0.0 2.0 0.0');
  204.             
  205.             # Cut to er_cam2
  206.             SetCameraFocus(2, er_cam2);
  207.             SetCameraSecondaryFocus(2, camTarg1);
  208.             SetCurrentCamera(2);
  209.             SetCameraFOV(90, 0, 0.0);
  210.         }
  211.         
  212.         # attach camTarg1 to player and keep tracking it.
  213.         # move er_cam2 to frame1.
  214.         else if(GetSenderRef() == er_Indy_Trig2)
  215.         {
  216.             # attach camTarg1 to player
  217.             AttachThingToThing(camTarg1, player);
  218.             
  219.             # move er_Cam2 to frame1
  220.             MoveToFrame(er_cam2, 1, 3.0);
  221.         }
  222.         
  223.         # player goes zipping by.
  224.         # detach camTarg1 from player and unleash commies.
  225.         else if(GetSenderRef() == er_Indy_Trig3)
  226.         {
  227.             # wait for er_Cam2 to reach frame1
  228.             WaitForStop(er_Cam2);
  229.             
  230.             # detach camTarg1 from player
  231.             DetachThing(camTarg1);
  232.             
  233.             # show biped commies
  234.             ClearThingFlags(Khaki1, 0x80000);
  235.             ClearThingFlags(Khaki2, 0x80000);
  236.             ClearThingFlags(Khaki3, 0x80000);
  237.             ClearThingFlags(Khaki4, 0x80000);
  238.             ClearThingFlags(bruiser1, 0x80000);
  239.             ClearThingFlags(bruiser2, 0x80000);
  240.             ClearThingFlags(volod, 0x80000);
  241.             
  242.             # show comCar
  243.             ClearThingFlags(comCar, 0x80000);
  244.             
  245.             # open mine safety doors
  246.             SendMessage(mineDoors, user0);
  247.             
  248.             # move camTarg1 down under trestle (mabye?)
  249.             animId = MoveThingToPos(camTarg1, GetThingPos(dummy_Targ1), 2.0);
  250.             
  251.             # zoom er_Cam2 under trestle and towards mine door
  252.             MoveToFrame(er_Cam2, 2, 4.0);
  253.             
  254.             Sleep(1.0);
  255.             SetCameraFOV(70, 1, 6.0);
  256.             
  257.             # give camera some time to move in
  258.             #Sleep(1.0);
  259.             
  260.             # play volod intro music
  261.             #PlaySoundLocal(mus_Volod, 1.0, 0.0, 0x0, 0);
  262.             
  263.             # send Khaki1 running in before comCar
  264.             AISetMoveSpeed(khaki1, 3.0);
  265.             AISetLookThing(khaki1, khaki1_Targ1);
  266.             AISetMoveThing(khaki1, khaki1_Targ1, 0);
  267.             
  268.             # send Khaki2 running in before comCar
  269.             AISetMoveSpeed(khaki2, 3.0);
  270.             AISetLookThing(khaki2, khaki2_Targ1);
  271.             AISetMoveThing(khaki2, khaki2_Targ1, 0);
  272.             
  273.             # wait for khaki1 to reach khaki1_Targ1
  274.             #AIWaitForStop(khaki1);
  275.             
  276.             # send khaki1 to khaki1_Targ2
  277.             AISetMoveSpeed(khaki1, 3.0);
  278.             AISetLookThing(khaki1, khaki1_Targ2);
  279.             AISetMoveThing(khaki1, khaki1_Targ2, 0);
  280.             
  281.             # send khaki2 to khaki2_Targ2
  282.             AISetMoveSpeed(khaki2, 3.0);
  283.             AISetLookThing(khaki2, khaki2_Targ2);
  284.             AISetMoveThing(khaki2, khaki2_Targ2, 0);
  285.             
  286.             Sleep(1.0);
  287.             
  288.             # start comCar
  289.             SetThingThrust(comCar, '0.0 2.0 0.0');
  290.             
  291.             # send khaki3 to khaki1_Targ2
  292.             AISetMoveSpeed(khaki3, 3.0);
  293.             AISetLookThing(khaki3, khaki1_Targ2);
  294.             AISetMoveThing(khaki3, khaki1_Targ2, 0);
  295.             
  296.             # send khaki4 to khaki2_Targ2
  297.             AISetMoveSpeed(khaki4, 3.0);
  298.             AISetLookThing(khaki4, khaki2_Targ2);
  299.             AISetMoveThing(khaki4, khaki2_Targ2, 0);
  300.             
  301.             # send volod to volod_Targ1
  302.             AISetMoveSpeed(volod, 1.0);
  303.             AISetLookThing(volod, volod_Targ1);
  304.             AISetMoveThing(volod, volod_Targ1, 0);
  305.             
  306.             # send bruiser1 to bruiser1_Targ1
  307.             AISetMoveSpeed(bruiser1, 1.0);
  308.             AISetLookThing(bruiser1, bruiser1_Targ1);
  309.             AISetMoveThing(bruiser1, bruiser1_Targ1, 0);
  310.             
  311.             # send bruiser2 to bruiser2_Targ1
  312.             AISetMoveSpeed(bruiser2, 1.0);
  313.             AISetLookThing(bruiser2, bruiser2_Targ1);
  314.             AISetMoveThing(bruiser2, bruiser2_Targ1, 0);
  315.             
  316.             Sleep(2.0);
  317.             # play volod intro music
  318.             StopSound(chnl_PreLoad, 0.0);
  319.             PlaySoundLocal(mus_Volod, 1.0, 0.0, 0x0, 0);
  320.             
  321.             AIWaitForStop(volod);
  322.             
  323.             # so mine doors don't collide with them
  324.             SetCollideType(volod, 0);
  325.             SetCollideType(bruiser1, 0);
  326.             SetCollideType(bruiser2, 0);
  327.             Sleep(0.1);
  328.             
  329.             # close mine doors
  330.             SendMessage(mineDoors, user1);
  331.             
  332.             Sleep(1.0);
  333.             
  334.             PlayVoice(volod, volod_line1, 1.0, 1);
  335.             
  336.             Sleep(0.5);
  337.             
  338.             # get player moving again
  339.             SetThingThrust(player, '0.0 3.0 0.0');
  340.             
  341.             # Cut to er_cam3 and watch player enter ruins
  342.             SetCameraFocus(2, er_cam3);
  343.             SetCameraSecondaryFocus(2, player);
  344.             SetCurrentCamera(2);
  345.             SetCameraFOV(90, 0, 0.0);
  346.             
  347.             # stop comcar sounds
  348.             StopAllSoundsThing(comCar);
  349.             
  350.             # destroy all the evidence
  351.             DestroyThing(comCar);
  352.             DestroyThing(Khaki1);    
  353.             DestroyThing(Khaki2);
  354.             DestroyThing(Khaki3);    
  355.             DestroyThing(Khaki4);
  356.             DestroyThing(bruiser1);
  357.             DestroyThing(bruiser2);    
  358.             DestroyThing(volod);
  359.         }
  360.         
  361.         # stop player in his tracks
  362.         else if(GetSenderRef() == er_Indy_Trig4)
  363.         {   
  364.             # stop the player for a bit
  365.             StopThing(player);
  366.             Sleep(1.0);
  367.             StopAllSoundsThing(player);
  368.         }    
  369.             
  370.         # return camera and controls to player
  371.         else if(GetSenderRef() == er_Indy_Trig5)
  372.         {
  373.             # turn on mastercontrol, panelsay
  374.             SendMessage(masterCtrl, user0);
  375.             SendMessage(panelSay, user0);
  376.             
  377.             # turn on ctrl room commies
  378.             SendMessage(comControl, user1);
  379.             
  380.             # show cross over commies
  381.             ClearThingFlags(coCom1, 0x80000);
  382.             ClearThingFlags(coCom2, 0x80000);
  383.             
  384.             # show exit complex commies
  385.             ClearThingFlags(exitCom1, 0x80000);
  386.             ClearThingFlags(exitCom2, 0x80000);
  387.             ClearThingFlags(exitCom3, 0x80000);
  388.             
  389.             # turn exitCom2 into a sniper
  390.             AISetClass(exitCom2, ai_sniper);
  391.             
  392.             # show exit comp items
  393.             ClearThingFlags(exit_Satchel, 0x80000);
  394.             
  395.             # show final room commies
  396.             ClearThingFlags(finalCom1, 0x80000);
  397.             ClearThingFlags(finalCom2, 0x80000);
  398.             
  399.             # return camera to player
  400.             SetCameraFOV(90, 0, 0.0);
  401.             SetCameraPosition(1, GetThingPos(cam_Reset));
  402.             SetCurrentCamera(1);
  403.             
  404.             # restore player controls
  405.             ClearActorFlags(player, 0x200000);
  406.             EndCutscene();
  407.             
  408.             done = 1;
  409.         }
  410.     }
  411.     
  412.     return;
  413.        
  414. # ========================================================================================
  415.  
  416. end
  417.  
  418.